From 3813ce0c7a206c4378a939b4dc48aad75dc4fe58 Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Thu, 9 Jun 2005 13:27:17 +0000 Subject: [PATCH] bitkeeper revision 1.1697 (42a843b5ZTFdEDRffbieMVV4Kl42cQ) Multicall macro should mark all caller-saved registers as clobbered across the function call. Signed-off-by: Scott Parish --- xen/include/asm-x86/multicall.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/xen/include/asm-x86/multicall.h b/xen/include/asm-x86/multicall.h index f4bac0a150..23d7c8e5ba 100644 --- a/xen/include/asm-x86/multicall.h +++ b/xen/include/asm-x86/multicall.h @@ -24,7 +24,9 @@ "callq *(%%rax); " \ "movq %%rax,"STR(MULTICALL_result)"(%0); " \ : : "b" (_call) \ - : "rax", "rdi", "rsi", "rdx", "rcx", "r8" ); \ + /* all the caller-saves registers */ \ + : "rax", "rcx", "rdx", "rsi", "rdi", \ + "r8", "r9", "r10", "r11" ); \ } while ( 0 ) #else @@ -42,7 +44,9 @@ "call *hypercall_table(,%%eax,4); " \ "movl %%eax,"STR(MULTICALL_result)"(%0); "\ "addl $20,%%esp; " \ - : : "b" (_call) : "eax", "ecx", "edx" ); \ + : : "b" (_call) \ + /* all the caller-saves registers */ \ + : "eax", "ecx", "edx" ); \ } while ( 0 ) #endif -- 2.30.2